//package com.yzion.demo_webview;
//
//import android.app.Activity;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.os.Build;
//import android.os.Bundle;
//import android.util.Log;
//import android.view.KeyEvent;
//import android.view.View;
//
//import androidx.annotation.Nullable;
//import androidx.appcompat.app.AlertDialog;
//import androidx.appcompat.app.AppCompatActivity;
//
//import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
//import com.tencent.smtt.sdk.WebView;
//import com.yzion.baseapp.R;
//import com.yzion.baselib.webview.BridgeWebView;
//import com.yzion.baselib.webview.InterWebListener;
//import com.yzion.baselib.webview.WebProgress;
//import com.yzion.baselib.webview.X5WebChromeClient;
//import com.yzion.baselib.webview.X5WebUtils;
//import com.yzion.baselib.webview.X5WebView;
//import com.yzion.baselib.webview.X5WebViewClient;
//
//public class Simple8Activity extends AppCompatActivity {
//
//    private X5WebView webView;
//    private WebProgress progress;
//
//    @Override
//    public boolean onKeyDown(int keyCode, KeyEvent event) {
//        if (keyCode == KeyEvent.KEYCODE_BACK) {
//            if (webView.canGoBack()) {
//                webView.goBack();
//                return true;
//                //退出网页
//            } else {
//                handleFinish();
//            }
//        }
//        return false;
//    }
//
//    public void handleFinish() {
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            finishAfterTransition();
//        } else {
//            finish();
//        }
//    }
//
//
//    @Override
//    protected void onDestroy() {
//        try {
//            if (webView != null) {
//                webView.stopLoading();
//                webView.destroy();
//                webView = null;
//            }
//        } catch (Exception e) {
//            Log.e("X5WebViewActivity", e.getMessage());
//        }
//        super.onDestroy();
//    }
//
//    @Override
//    protected void onCreate(@Nullable Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_web_view);
//        webView = findViewById(R.id.web_view);
//        progress = findViewById(R.id.progress);
//        progress.show();
//        progress.setColor(this.getResources().getColor(R.color.colorAccent));
//        String url = "https://juejin.im/post/5d401cabf265da03a53a12fe";
//        webView.loadUrl(url);
//        webView.setOnLongClickListener(new View.OnLongClickListener() {
//            @Override
//            public boolean onLongClick(View v) {
//                return handleLongImage();
//            }
//        });
//        MyX5WebViewClient webViewClient = new MyX5WebViewClient(webView, this);
//        webView.setWebViewClient(webViewClient);
//        MyX5WebChromeClient webChromeClient = new MyX5WebChromeClient(webView, this);
//        webView.setWebChromeClient(webChromeClient);
//        webView.getX5WebChromeClient().setWebListener(interWebListener);
//        webView.getX5WebViewClient().setWebListener(interWebListener);
//    }
//
//
//    private InterWebListener interWebListener = new InterWebListener() {
//        @Override
//        public void hindProgressBar() {
//            progress.hide();
//        }
//
//        @Override
//        public void showErrorView(@X5WebUtils.ErrorType int type) {
//            switch (type) {
//                //没有网络
//                case X5WebUtils.ErrorMode.NO_NET:
//                    break;
//                //404，网页无法打开
//                case X5WebUtils.ErrorMode.STATE_404:
//
//                    break;
//                //onReceivedError，请求网络出现error
//                case X5WebUtils.ErrorMode.RECEIVED_ERROR:
//
//                    break;
//                //在加载资源时通知主机应用程序发生SSL错误
//                case X5WebUtils.ErrorMode.SSL_ERROR:
//
//                    break;
//                default:
//                    break;
//            }
//        }
//
//        @Override
//        public void startProgress(int newProgress) {
//            progress.setWebProgress(newProgress);
//        }
//
//        @Override
//        public void showTitle(String title) {
//
//        }
//    };
//
//    private class MyX5WebViewClient extends X5WebViewClient {
//        public MyX5WebViewClient(BridgeWebView webView, Context context) {
//            super(webView, context);
//        }
//
//        @Override
//        public boolean shouldOverrideUrlLoading(WebView view, String url) {
//            Log.d("网络拦截--------1------", url);
//            return super.shouldOverrideUrlLoading(view, url);
//        }
//
//        @Override
//        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//            Log.d("网络拦截--------2------", request.getUrl().toString());
//            return super.shouldOverrideUrlLoading(view, request);
//        }
//    }
//
//
//    private class MyX5WebChromeClient extends X5WebChromeClient {
//
//        /**
//         * 构造方法
//         *
//         * @param activity 上下文
//         */
//        public MyX5WebChromeClient(BridgeWebView webView, Activity activity) {
//            super(webView, activity);
//        }
//    }
//
//    /**
//     * 长按图片事件处理
//     */
//    private boolean handleLongImage() {
//        final WebView.HitTestResult hitTestResult = webView.getHitTestResult();
//        // 如果是图片类型或者是带有图片链接的类型
//        if (hitTestResult.getType() == WebView.HitTestResult.IMAGE_TYPE ||
//                hitTestResult.getType() == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
//            // 弹出保存图片的对话框
//            new AlertDialog.Builder(Simple8Activity.this)
//                    .setItems(new String[]{"查看大图", "保存图片到相册"},
//                            new DialogInterface.OnClickListener() {
//                                @Override
//                                public void onClick(DialogInterface dialog, int which) {
//                                    String picUrl = hitTestResult.getExtra();
//                                    //获取图片
//                                    Log.e("picUrl", picUrl);
//                                    switch (which) {
//                                        case 0:
//
//                                            break;
//                                        case 1:
//                                            break;
//                                        default:
//                                            break;
//                                    }
//                                }
//                            })
//                    .show();
//            return true;
//        }
//        return false;
//    }
//
//
//}
